/**
 * @description 从控制台窗口读入数据例程  (讲解InputStreamReader  流读写器)
 * 
 * 
 * 缓冲读写器构造方法需要传入读写器，
 * 而读写器构造方法需要传入字符流或字节流，
 * InputStreamReader 流读写器可以处理系统输入流
 * 
 * 
 * 程序功能：
 * 输出提示信息：输入整数还是浮点？
 *           0：退出；1：整数；2：浮点数
 * 依据用户选择，读取控制台输入内容并输出至控制台
 * @pageNo：232
 * @author mlmoria
 * @date 2017年2月3日
 * 
 */
package No7JavaIO;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class J_ReadData {

//输出提示信息
	public static void mb_printInfo(){
		System.out.println("输入整数还是浮点？");
		System.out.print(" 0：退出；1：整数；2：浮点数");
	}
//接收整数输入
	public static int mb_getInt(BufferedReader br){
		try {
			String s=br.readLine();
			int i=Integer.parseInt(s);
			return i;
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			
			e.printStackTrace();
			return -1;
		}
	}
//接收浮点输入
	public static Double mb_getDouble(BufferedReader br){
		try {
			String s=br.readLine();
			Double d=Double.parseDouble(s);
			return d;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return 0D;
		}
				
	}
	
	public static void main(String[] args) {
		int i;
		double d;
		try {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//通过do while 读入数字判断数字为012。0，退出结束，1，输入整数；2，输入浮点
		do{
			mb_printInfo();
			i=mb_getInt(br);
			if(i==0){
				break;
			}
			else if(i==1){
				System.out.print("请输入整数：");
				i=mb_getInt(br);
				System.out.println("您输入的整数为："+i);
				
			}
			else if(i==2){
				System.out.print("请输入浮点数：");
				d=mb_getDouble(br);
				System.out.println("您输入的浮点数为："+d);				
			}
		}
		while(true);
	
			br.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}
